1. Field of the Invention
The present invention relates to a computer system, a host transmission iSCSI path switching method and a storage device utilizing the same, and more specifically, relates to a communication control method for accessing storage, a storage device, a computer system and a memory medium storing a communication control program.
2. Description of the Related Art
Heretofore, communication between a server device (hereinafter referred to as “host”) and a storage device (hereinafter referred to as “storage” or “storage system”) was realized through a fibre channel (hereinafter referred to as “FC”) by connecting the devices via a dedicated network. This network dedicated to connecting storages is called a storage area network (hereinafter referred to as “SAN”). ASAN utilizing FC as network control protocol is especially called FC-SAN. In an FC-SAN, protocols such as SCSI (small computer systems interface) and SBCCS (single byte command code set) are used as higher protocols of FC for controlling the storages.
On the other hand, it is recently becoming popular to utilize TCP/IP which is a network technology instead of FC. A special protocol technology for utilizing SCSI as a higher protocol of TCP/IP is called an iSCSI (internet SCSI). The TCP/IP and iSCSI have been standardized by IETF (the Internet Engineering Task Force). The TCP/IP is further defined as TCP (transmission control protocol) and IP (internet protocol). In general, communication control (protocol processing) is performed hierarchically in a network. For example, the protocol layer for processing TCP is called a TCP layer, and the protocol layer for processing IP is called an IP layer.
FIG. 15 shows the relationship between protocol layers of devices performing iSCSI communication and the transmitted and received data. The host 20 and the storage system 10 are connected via a network 30. The protocol hierarchy of the devices performing iSCSI communication is composed of an application layer 320, a SCSI layer 300, an iSCSI layer 301, a TCP layer 302, an IP layer 303 and a MAC layer 304. The MAC layer 304 is also called a media access control layer, which normally utilizes an Ethernet (registered trademark) or a gigabit Ethernet (registered trademark). The data length handled by each protocol layer differs, and header information and the like are added to the data. The protocol hierarchy is defined from the higher protocol downward as the application layer 320, the SCSI layer 300, the iSCSI layer 301, the TCP layer 302, the IP layer 303 and the MAC layer 304.
In the host 20, the application layer 320 stores application softwares (such as a database, an image processing software, a design support software, a word processor and a spreadsheet software; hereinafter referred to as “application”).
In the storage system 10, the application layer 320 is a memory device, which stores data received from the host 20 or reads the stored date and transmits the same to the host 20 based on the instructions from the host 20. SCSI read instructions and write instructions or the like are used as instructions from the host 20, but the detailed descriptions thereof are omitted in the present specification, and only the general outline thereof is described. That is, the application 320 of the host 20 transmits data from the data 310 stored in the memory device via the SCSI layer 300, the iSCSI layer 301, the TCP layer 302, the IP layer 303, the MAC layer 304 and through the network 30 to the storage system 10. Upon receiving this data, the storage 10 stores the data 310 via the MAC layer 304, the IP layer 303, the TCP layer 302, the iSCSI layer 301 and the SCSI layer 300 in the memory device (340). The application 320 of the host 20 transmits the SCSI instructions to the memory device in the same path.
The memory device having received the read instruction of SCSI transmits the stored data 310 via the SCSI layer 300, the iSCSI layer 301, the TCP layer 302, the IP layer 303, the MAC layer 304 and via the network 30 to the host 20. Upon receiving the data, the host 20 transmits the data 310 via the MAC layer 304, the IP layer 303, the TCP layer 302, the iSCSI layer 301, and the SCSI layer 300 to the application 320 (350).
Upon operating a storage, it becomes necessary to expand the storage capacity when the information to be stored and maintained is increased. Further, along with the increase in access quantity to the data, it is effective to replace the storages with storages having higher access processing abilities, or to disperse the access processing load among devices by moving a portion of the data to a new storage. This is caused for example in a storage operated in a company having an increasing scale of business, having increasing numbers of customers and employees, by which the information handled in the company and the access quantity are increased greatly.
Moreover, it is considered that more malfunctions occur in aged storages due to physical deterioration of the drives and the like. Thus, it is necessary to transfer data to a separate storage to have the data stored continuously in a new storage. Demands for such continuous storage of data have increased with the recent trend of making long-term storage of business data such as emails obligatory.
Since the IP network has a drawback in that communication thereof is unstable compared to the FC, the iSCSI requires communication paths (hereinafter referred to as paths) to be switched for load dispersion or failure control, similar to the case in conventional networks.
In a conventional storage, when it is necessary to expand the storage capacity, replace the storage or migrate the data of an operating storage, the communication counterpart storage is switched and so the communication path is switched, and the information on the storage in the application is changed. In other words, the application must be stopped, and the host setup must be changed before restarting operation of the application.
The conventional methods for switching paths are the following:
(1) FC path switch; wherein two paths are prepared in advance, and the switching from address 1 to address 2 is performed; and
(2) IP network path switch; wherein the operation of a migration source port is stopped, and the IP address is taken over to the migration destination.
However, if these methods are to be applied to the IP-SAN, they each have drawbacks in that
(1) a path switching software must be operated in the host and two paths must be prepared in advance; and
(2) the host performs reconnection after timeout, and the switching time may exceed several seconds depending on the timeout of the network, during which time the host application is stopped.
Japanese Patent Application Laid-Open Publication No. 2004-129287 (claims etc.) (patent document 1) discloses a means for realizing method (2) at high speed, and Japanese Patent Application Laid-Open Publication No. 05-346898 (claims etc.) (patent document 2) discloses an art related thereto. Patent document 1 discloses an art of enabling the TCP/IP layer and the user application program to be unaware of redundancy, by enabling the port control means that performs address translation between the MAC layer and the IP layer to transfer the information on the MAC layer (MAC address) recognized by the IP layer before the route change to the IP layer even when the redundant portion of the MAC layer is switched.
In the art disclosed in patent document 1, the MAC address is changed to the communication destination address of the migration source by a redundant software or path switch software. The application is unaware of the redundancy, and continues communication using the same TCP connection. Even when the TCP path is switched, the TCP connection is maintained and the application is not influenced by the switching. Further, patent document 2 discloses an art of establishing a connection between the client and server, and if a communication error occurs on the connection during data communication, detects the error to automatically release the connection when the error occurs, outputs a connection establishment request and establishes a new connection.
However, the prior art does not disclose the art of switching paths via a means at high speed and without the application being aware of the switch and without the execution of a path switch means in the host. In other words, according to patent document 1, the host requires a path control software, and a plurality of connections must be established in advance. According to patent document 2, the path failure recovery is performed at high speed, but there is no disclosure of an art of changing the connection destination of the paths. In other words, it does not disclose the art of disconnecting paths from the storage with the aim to switch paths or switch targets.